/**
 public static void sleep(long millis)
        throws InterruptedExeption使当前正在执行的线程以指定的毫秒数暂停（暂时停止执行）,释放CPU的
 时间片，具体取决于系统定时器和调度程序的精度和准确性。线程不会丢失任何显示器的所有权。
 参数
 millis-以毫秒为单位的睡眠时间长度
 异常
 IllegalArgumentException-如果millis值为负数
 InterruptedException-如果任何线程中断当前线程。当抛出此异常时，当前线程的终端状态将被清除。
 public static void sleep(long millis,int nanos)throws InterruptedException 毫秒，纳秒
 static Thread currentThread（）返回当前正在执行的线程对象的引用。
 */
/*
package 第十章_多线程与并发;

import static java.lang.Thread.sleep;
//加入thread里面的sleep方法，可以让同个进程中的线程 让出时间片。 不能外部干预终止会报异常1000mils =1秒
public class U10_L3_线程休眠 {
    public static void main(String [] args){
        Thread mt=new MyThread();
        Runnable ir=new Ithread();
        //当使用端口runnable 的时候 记得 要使用Thread类 进行构造
        Thread irt=new Thread(ir);
        mt.start();
        irt.start();
    }
}

class MyThread extends Thread{
    public void run(){
        for(int i=0;i<50;i++){
            System.out.println(Thread.currentThread().getName()+":"+i);
            try {
                sleep(500);
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            }
        }
    }
    public void test(){
        System.out.println("over.");
    }
}

class Ithread implements Runnable{

    @Override
    public void run() {
        for(int i=0;i<50;i++){
            System.out.println(Thread.currentThread().getName()+":"+i);
            try {
                sleep(500);
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            }
        }
    }
}
*/